ChatGPT或者說LLM最普遍的應用就是製作各種聊天機器人(ChatBot),ChatBot要如何進一步與內部資料庫整合,是邁向企業應用的重要基石。
ChatBot 開發的方式可分為:
以旅館業訂房網站為例,使用者以自然語言的方式輸入訂房資訊(提示),ChatBot要能從提示中萃取出關鍵資訊,譬如提示為【我要在2024年1月24日訂雙人房一間,共訂兩天】,希望得到的關鍵資訊如下:
以Python環境開發,需安裝以下套件:
pip install openai instructor pydantic
程式如下:
import instructor
from openai import OpenAI
from pydantic import BaseModel, Field
from datetime import date, datetime, time, timedelta
client = instructor.patch(OpenAI())
class HotelBooking(BaseModel):
place: str
date: date
room_type: str
no_of_rooms: int
no_of_days: int
def get_response(string) -> HotelBooking:
return client.chat.completions.create(
model="gpt-3.5-turbo-0613",
response_model=HotelBooking,
messages=[
{
"role": "user",
"content": f"Get Hotel Booking information for {string}",
},
],
)
response = get_response("I want to order a twin at taipei at jan. 24 2024 for 3 days")
print(response.model_dump_json(indent=2))
python booking.py
{
"place": "taipei",
"date": "2024-01-24",
"room_type": "twin",
"no_of_rooms": 1,
"no_of_days": 3
}
pydantic_core._pydantic_core.ValidationError: 1 validation error for HotelBooking
date
Input should be a valid date or datetime, invalid character in year [type=date_from_datetime_parsing, input_value='jan . 24 2024', input_type=str]
For further information visit https://errors.pydantic.dev/2.5/v/date_from_datetime_parsing
透過簡單的程式碼,我們就完成關鍵資訊的萃取,後續如何查詢/更新資料庫,或與Line整合,就請讀者自由發揮了,也歡迎讀者批評指教。程式可自【ChatGPT 完整解析:API 實測與企業應用實戰】範例程式下載,本文程式檔放在Extra目錄。
開發者必學:OpenAI API應用與開發。
ChatGPT企業實踐指南 | 技術透析與整合應用。
深度學習PyTorch入門到實戰應用。
ChatGPT 完整解析:API 實測與企業應用實戰。
Scikit-learn 詳解與企業應用。
開發者傳授 PyTorch 秘笈
深度學習 -- 最佳入門邁向 AI 專題實戰。